﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;

namespace FeedsLibrary
{
    [ServiceContract]
    public interface IFeedsService
    {
        bool IsParamsNull(List<String> parameters);

        [OperationContract]
        Dictionary<string, string> GetAllParentFeeds(string email);
        
        [OperationContract]
        bool AddNewParentFeed(string email, string parentfeedurl, string category = "VARIOUS");

        [OperationContract]
        Dictionary<string, string> GetParentFeedInfos(string parentfeedurl, string category = "VARIOUS");

        [OperationContract]
        List<Dictionary<string, string>> GetMyChildFeeds(string email, string category = "ALL");

        [OperationContract]
        List<Dictionary<string, string>> GetMySharedFeeds(string email, string category = "ALL");

        [OperationContract]
        bool IsFeedRead(string email, string fieldtitle, string category = "UNKNOWN");

        [OperationContract]
        bool SetFeedState(string email, string fieldtitle, string category = "UNKNOWN");

        [OperationContract]
        bool ShareFeed(string email, string fieldtitle, string category = "UNKNOWN");

        [OperationContract]
        bool ShareFeedList(string email, List<string> fieldtitles, string category = "UNKNOWN");

        [OperationContract]
        bool RemoveChildField(string email, string fieldtitle, string category = "UNKNOWN");

        [OperationContract]
        bool RefreshParentChildFeeds(string email, string parentfeedurl);

        [OperationContract]
        List<Dictionary<string, string>> SubscribeToFeed(string email, string parentfeedurl, string category = "VARIOUS");
    }
}
